﻿using System;

namespace Aufgaben;
/*
 *  Klasse Fahrer,
 *      mit einer Methode "Tanken", die den Tankfüllstand eines übergebenen PKW-Objektes erhöhen kann.
 *      Und einer Methode "OnTankfüllstandNiedrig", welche zum Delegate passt. Sie fragt aus dem übergebenen PKW die Farbe der TankfüllstandLeuchte ab
 *          und ist sie Gelb, sagt der Fahrer "Ach, hat noch Zeit...",
 *          ist sie Rot, sagt der Fahrer "Jetzt aber dringend tanken..." und tankt anschließend den PKW.
 *
 */
public class Fahrer
{
    public static void Tanken(Pkw pkw, int menge)
    {
        if (menge > 0)
            pkw.AddTankfüllstand(menge);
    }

    public void OnTankfüllstandNiedrig(Pkw pkw)
    {
        switch (pkw.Leuchte)
        {
            case TankfüllstandLeuchte.Gelb:
                Console.WriteLine("Ach, hat noch Zeit...");
                break;
            case TankfüllstandLeuchte.Rot:
                Console.WriteLine("Jetzt aber dringend tanken...");
                Tanken(pkw, 15);
                break;
        }
    }
}